The invention relates to random access memory for data storage. More specifically, the invention relates to a magnetic random access memory device including an array of memory cells and circuitry for writing data to the memory cells.
Magnetic Random Access Memory ("MRAM") is a type of non-volatile memory that is being considered for long-term data storage. Accessing data from MRAM devices would be orders of magnitude faster than accessing data from conventional long-term storage devices such as hard drives. Additionally, the MRAM devices would be more compact and would consume less power than hard drives and other conventional long-term storage devices.
A typical MRAM device includes an array of memory cells. Word lines extend along rows of the memory cells, and bit lines extend along columns of the memory cells. Each memory cell is located at a cross point of a word line and a bit line.
Each memory cell stores a bit of information as an orientation of a magnetization. The magnetization orientation of each memory cell can assume one of two stable orientations at any given time. These two stable orientations of magnetization, parallel and anti-parallel, represent logic values of "1" and "0."
A write operation on a selected memory cell is performed by supplying write currents to the word and bit lines crossing the selected memory cell. The write currents induce an external magnetic field that sets the orientation of magnetization in the selected memory cell. The magnetization orientation is determined by the direction of the external magnetic field. The direction of the external magnetic field, in turn, is determined by the direction of the write currents flowing through the word and bit lines.
Data is typically written to the MRAM array as n-bit words. For instance, a 16-bit word might be written to sixteen memory cells by supplying a write current to a word line crossing the sixteen memory cells and supplying separate write currents to the sixteen bit lines crossing the sixteen memory cells.
There are a number of challenges to designing a write circuit for a large MRAM array. One challenge is reducing peak write currents without degrading the write performance of the MRAM array. High peak currents can overstress parts of the write circuit and generate unacceptable levels of current noise. Moreover, high peak currents can damage the memory cells.
Another challenge is controlling the write currents to a specified range. The write currents should be controlled to a specified range in order to perform reliable write operations. Too small a write current might not cause a selected memory cell to change its orientation of magnetization, and too large a write current will disturb unselected memory cells.
This challenge is complicated by the need for a write current that is bi-directional. Typically, bit line current flows in one direction to set a parallel magnetization orientation, and it flows in an opposite direction to set an anti-parallel magnetization orientation.
This challenge is further complicated by resistive cross-coupling between the memory cells. Each memory cell may be represented as a resistive element, and the stored data may be represented by a small differential resistance. In an MRAM array, each resistive element is coupled to other resistive elements. The write currents can be affected by resistive cross-coupling of the selected memory cell with unselected memory cells.